{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "7e76d2bc",
   "metadata": {},
   "source": [
    "# 第一次习题\n",
    "## 第一章\n",
    "\n",
    "###  一、多选题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "3e84f39a",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid syntax (4290440383.py, line 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;36m  File \u001b[0;32m\"/var/folders/bh/y2j2grbn2dzdvz9jnc353wk00000gn/T/ipykernel_19454/4290440383.py\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m    1.下面```(   c b)```选项是正确的```Pyhon```标准库对象导入语句。\u001b[0m\n\u001b[0m      ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
     ]
    }
   ],
   "source": [
    "1.下面```(   c b)```选项是正确的```Pyhon```标准库对象导入语句。\n",
    "```\n",
    "A. import math.sin as sin\n",
    "B. from math import sin\n",
    "C. import math.*\n",
    "D. from math import *\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a5ed1240",
   "metadata": {},
   "outputs": [],
   "source": [
    "2.下面开发环境可以用来编写和调试```Python```程序的有```(  ba  )```。\n",
    "```\n",
    "A. IDLE\n",
    "B. Jupyter Notebook\n",
    "C. Spyder\n",
    "D. PyCharm\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a09188dd",
   "metadata": {},
   "outputs": [],
   "source": [
    "3.下面说法正确的选项有```(  d a b )```。\n",
    "```\n",
    "A.正确的缩进对Python程序是非常重要的\n",
    "B.在表达式中圆括号可以改变运算顺序\n",
    "C.在Python 3.x中可以使用中文做变量名\n",
    "D. Pyhon程序中的空格和空行可有可无，但是适当的增加空格和空行可以提高代码的可读性\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63a9ecd2",
   "metadata": {},
   "source": [
    "### 二、判断题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "84481ae7",
   "metadata": {},
   "outputs": [],
   "source": [
    "```\n",
    "1.缩进对于Python代码至关重要。(   yse )\n",
    "2.为了让代码更加紧凑，减少占用空间，不应该在代码中任何位置增加空格和空行。(   no )\n",
    "3.在Python 3x中不能使用汉字作为变量名。(  yse  )\n",
    "4.对于复杂表达式，如果计算结果是正确的，那么不建议再增加圆括号来说明计算顺序，样可以使得代码更加简洁、清晰。(  no  )\n",
    "5.在编写代码时，一般应先导入标准库对象，再导入扩展库对象。(  yse  )\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b90d42d7",
   "metadata": {},
   "source": [
    "### 三、操作题\n",
    "```\n",
    "1.下载并安装Python官方安装包和Anaconda3.\n",
    "2.使用Jupyter Notebook或Spyder运行并体会本章中的代码。\n",
    "3.安装扩展库numpy、pandas、 matplotlib、 openpyxl、 python-do\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "88e80a42",
   "metadata": {},
   "source": [
    "## 第二章"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "09f15446",
   "metadata": {},
   "source": [
    "### 一、填空题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2ccd2f6c",
   "metadata": {},
   "outputs": [],
   "source": [
    "```\n",
    "1.表达式-68//7的值为___-10____。\n",
    "2.表达式{40,50,60}|{40,60,70}的值为_{50}______。\n",
    "3.表达式{40,50,60}&{40,60,70}的值为___{40,60}____。\n",
    "4.表达式{40, 50, 60}-{40, 60, 70}的值为____{50}___。\n",
    "5.表达式chr(ord('0')+3)的值为_____'3'__。\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "2f6a4e78",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'3'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "chr(ord('0')+3)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ffe5632",
   "metadata": {},
   "source": [
    "### 二、判断题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "44078214",
   "metadata": {},
   "outputs": [],
   "source": [
    "```\n",
    "l.表达式3>5 and math.sin(0)的值为0。(  no )\n",
    "2.表达式4<5==5的值为True。(  yse )\n",
    "3.在Python 3.x中，内置函数input()用来接收用户的键盘输入,不管输入什么,都以字符串的形式返回。(  yes )\n",
    "4.在Python 3.x中，reduce()是内置函数，可以直接使用。(no   )\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "520b1449",
   "metadata": {},
   "source": [
    "### 三、编程题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69553241",
   "metadata": {},
   "source": [
    "```\n",
    "1.输入一个包含若干自然数的列表，输出这些自然数的平均值，结果保留3位小数。\n",
    "2.输入一个包含若干自然数的列表，输出这些自然数降序排列后的新列表。\n",
    "3.输入一个包含若干自然数的列表，输出一个新列表，新列表中每个元素为原列表中每个自然数的位数。例如，输入[1, 888, 99, 23456]，输出[1,3,2, 5]。\n",
    "4.输入一个包含若干数字的列表，输出其中绝对值最大的数字。例如,输入[-8,64,3.5,89]，输出-89。\n",
    "5.输入一个包含若干整数的列表，输出这些整数的乘积。例如，输入[-2,3,4], 输出-24。\n",
    "6.输入两个包含若干整数的等长列表，把这两个列表看作两个向量，输出这两个向量的内积。\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "fe09f559",
   "metadata": {},
   "outputs": [],
   "source": [
    "from functools import reduce\n",
    "from operator import mul"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "4e3fa723",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-24"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ls = [-2,3,4]\n",
    "reduce(mul,ls)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "2b3442f0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[3, 1, 2, 5]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(map(len,map(str,{1, 888, 99, 23456})))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "a5787895",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10.667"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "round( sum([5,23,4])/len([5,23,4]),3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "1f1ab8fb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 3, 2, 5]"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "list(map(len,map(str,{2,333,44,56789})))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "a2863847",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ls=[2,3,4]\n",
    "reduce(mul,ls)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "e33c3673",
   "metadata": {},
   "outputs": [],
   "source": [
    "number=[2,3,23,4]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "2e341858",
   "metadata": {},
   "outputs": [],
   "source": [
    "a=sorted(number,reverse=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "f793f008",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[23, 4, 3, 2]\n"
     ]
    }
   ],
   "source": [
    "print(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "018b59fa",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "71500aba",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ae56677f",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
